package com.dt.platform.generator.module.hr;


import com.dt.platform.constants.db.HrTables;
import com.dt.platform.constants.enums.common.StatusYNEnum;
import com.dt.platform.constants.enums.common.YesNoEnum;
import com.dt.platform.constants.enums.hr.EmployeeStatusEnum;
import com.dt.platform.domain.hr.*;
import com.dt.platform.domain.hr.meta.*;
import com.dt.platform.generator.config.Config;
import com.dt.platform.proxy.hr.*;
import com.github.foxnic.generator.config.WriteMode;
import org.github.foxnic.web.domain.hrm.Employee;
import org.github.foxnic.web.domain.hrm.Organization;
import org.github.foxnic.web.domain.hrm.Position;
import org.github.foxnic.web.domain.hrm.meta.EmployeeMeta;
import org.github.foxnic.web.domain.hrm.meta.PositionMeta;
import org.github.foxnic.web.domain.system.DictItem;
import org.github.foxnic.web.domain.system.meta.DictItemMeta;
import org.github.foxnic.web.proxy.system.DictItemServiceProxy;


public class HrmPersonGtr extends BaseCodeGenerator {
    public HrmPersonGtr() {
        super(HrTables.HR_PERSON.$TABLE,"811571522081652737");
    }

    public void generateCode() throws Exception {
        System.out.println(this.getClass().getName());

        cfg.getPoClassFile().addSimpleProperty(Organization.class,"organization","organization","organization");
        cfg.getPoClassFile().addSimpleProperty(Position.class, "orgPos","主岗", "作为员工时，所属的主岗");
        cfg.getPoClassFile().addSimpleProperty(String.class, "orgPosId","主岗ID","只有一个");

        cfg.getPoClassFile().addSimpleProperty(PositionInfo.class,"position","position","position");
        cfg.getPoClassFile().addSimpleProperty(Rank.class,"rank","rank","rank");
        cfg.getPoClassFile().addSimpleProperty(ProfessionalLevel.class,"professionalLevel","professionalLevel","professionalLevel");
        cfg.getPoClassFile().addSimpleProperty(DictItem.class,"bloodTypeDict","bloodTypeDict","bloodTypeDict");
        cfg.getPoClassFile().addSimpleProperty(DictItem.class,"sexDict","sexDict","sexDict");
        cfg.getPoClassFile().addSimpleProperty(DictItem.class,"maritalStatusDict","maritalStatusDict","maritalStatusDict");
        cfg.getPoClassFile().addSimpleProperty(DictItem.class,"employeeOwnerTypeDict","employeeOwnerType","employeeOwnerType");
        cfg.getPoClassFile().addSimpleProperty(DictItem.class,"educationData","educationData","educationData");
        cfg.getPoClassFile().addSimpleProperty(DictItem.class,"politicCountenanceData","politicCountenanceData","politicCountenanceData");
        cfg.getPoClassFile().addSimpleProperty(DictItem.class,"employeeIdentity","employeeIdentity","employeeIdentity");
        cfg.getPoClassFile().addSimpleProperty(DictItem.class,"bank","bank","bank");
        cfg.getPoClassFile().addSimpleProperty(Employee.class,"employee","employee","employee");
        cfg.getPoClassFile().addListProperty(PersonCert.class,"personCertList","personCertList","personCertList");
        cfg.getPoClassFile().addSimpleProperty(Salary.class,"salary","salary","salary");
        cfg.getPoClassFile().addSimpleProperty(SalaryTpl.class,"salaryTpl","salaryTpl","salaryTpl");

        cfg.getPoClassFile().addSimpleProperty(String.class,"ifRelEmployeeAccount","ifRelEmployeeAccount","ifRelEmployeeAccount");

        cfg.getPoClassFile().addSimpleProperty(AttendanceTpl.class,"attendanceTpl","attendanceTpl","attendanceTpl");




        cfg.view().field(HrTables.HR_PERSON.ID).basic().hidden(true);
        cfg.view().field(HrTables.HR_PERSON.NAME).search().fuzzySearch();
        cfg.view().field(HrTables.HR_PERSON.IDENTITY_CARD).search().fuzzySearch();
        cfg.view().field(HrTables.HR_PERSON.JOB_NUMBER).search().fuzzySearch();

        cfg.view().field(HrTables.HR_PERSON.MOBILE).search().fuzzySearch();
        cfg.view().field(HrTables.HR_PERSON.EMPLOYMENT_DATE).search().range();
        cfg.view().field(HrTables.HR_PERSON.CONTRACT_START_DATE).search().range();

        cfg.view().search().inputLayout(
                new Object[]{
                        HrTables.HR_PERSON.EMPLOYEE_STATUS,
                        HrTables.HR_PERSON.EMPLOYEE_IDENTITY_STATUS,
                        HrTables.HR_PERSON.JOB_NUMBER,
                        HrTables.HR_PERSON.NAME,
                },
                new Object[]{
                        PersonMeta.IF_REL_EMPLOYEE_ACCOUNT,
                        HrTables.HR_PERSON.WORK_KIND_CODE,
                        HrTables.HR_PERSON.PAYROLL_CARD_BANK_CODE,
                        HrTables.HR_PERSON.MOBILE,
                },
                new Object[]{
                        HrTables.HR_PERSON.POSITION_CODE,
                        HrTables.HR_PERSON.EMPLOYEE_TYPE_CODE,
                        HrTables.HR_PERSON.CONTACT_INFORMATION,
                        HrTables.HR_PERSON.IDENTITY_CARD,

                },
                new Object[]{
                        HrTables.HR_PERSON.SALARY_TPL_ID,
                        HrTables.HR_PERSON.ATTENDANCE_TPL_CODE,
                },
                new Object[]{
                        HrTables.HR_PERSON.EMPLOYMENT_DATE,
                        HrTables.HR_PERSON.CONTRACT_START_DATE,
                }
        );

        cfg.view().search().labelWidth(1,Config.searchLabelWidth);
        cfg.view().search().labelWidth(2,Config.searchLabelWidth);
        cfg.view().search().labelWidth(3,Config.searchLabelWidth);
        cfg.view().search().labelWidth(4,Config.searchLabelWidth);
        cfg.view().search().inputWidth(Config.searchInputWidth);

        cfg.view().field(PersonMeta.IF_REL_EMPLOYEE_ACCOUNT).basic().label("关联账户").form().table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.BIRTHDAY).form().table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.NATION_CODE).form().table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.NATIVE_PLACE_CODE).form().table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.MARITAL_STATUS).form().table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.ORG_ID).form().table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.BIRTHDAY).form().table().disable(true);
      //  cfg.view().field(HrTables.HR_PERSON.IDENTITY_CARD).form().table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.EMERGENCY_CONTACT).form().table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.EMERGENCY_CONTACT_NO).form().table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.HOME_ADDRESS).form().table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.WEIXIN_ID).form().table().disable(true);
    //    cfg.view().field(HrTables.HR_PERSON.GRADUATION_SCHOOL).form().table().disable(true);
     //   cfg.view().field(HrTables.HR_PERSON.MAJOR).form().table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.GRADUATION_DATE).form().table().disable(true);
     //   cfg.view().field(HrTables.HR_PERSON.GRADUATION_SCHOOL).form().table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.FOREIGN_LANGUAGE).form().table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.FOREIGN_LANGUAGE_LEVEL).form().table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.COMPUTER_ABILITY).form().table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.COMPUTER_LEVEL).form().table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.JOIN_PART_DATE).form().table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.BLOOD_TYPE).form().table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.BATCH_CODE).form().table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.BODY_HEIGHT).form().table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.BODY_WEIGHT).form().table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.JOIN_PART_DATE).form().table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.SALARY_NOTES).form().table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.LEAVE_RESON).form().table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.PAYROLL_CARD).form().table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.PAYROLL_CARD_BANK_CODE).form().table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.PERSON_PICTURE_ID).form().table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.FILE_ID).form().table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.UPDATE_BY).form().table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.YEAR_DAYS).form().table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.BIRTHDAY).form().table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.SUPERVISOR_USER_ID).form().table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.LEADER_USER_ID).form().table().disable(true);
        cfg.view().field(PersonMeta.IF_REL_EMPLOYEE_ACCOUNT).basic().label("关联账户").form().radioBox().enumType(YesNoEnum.class);
        cfg.view().field(HrTables.HR_PERSON.BIRTHDAY).form().dateInput().format("yyyy-MM-dd").search().range();
        cfg.view().field(HrTables.HR_PERSON.EMPLOYMENT_CONFIRM_DATE).form().dateInput().format("yyyy-MM-dd").search().range();
        cfg.view().field(HrTables.HR_PERSON.EMPLOYMENT_DATE).form().dateInput().format("yyyy-MM-dd").search().range();
        cfg.view().field(HrTables.HR_PERSON.FIRST_WORK_DATE).form().dateInput().format("yyyy-MM-dd").search().range();
        cfg.view().field(HrTables.HR_PERSON.JOIN_PART_DATE).form().dateInput().format("yyyy-MM-dd").search().range();
        cfg.view().field(HrTables.HR_PERSON.FIRST_EMPLOYMENT_DATE).form().dateInput().format("yyyy-MM-dd").search().range();
        cfg.view().field(HrTables.HR_PERSON.LEAVE_DATE).form().dateInput().format("yyyy-MM-dd").search().range();
        cfg.view().field(HrTables.HR_PERSON.GRADUATION_DATE).form().dateInput().format("yyyy-MM-dd").search().range();



//        cfg.view().field(HrTables.HR_PERSON.ORG_ID)
//                .form().validate().required().form().button().chooseOrganization(true);
//        cfg.view().field(HrTables.HR_PERSON.ORG_ID).table().fillBy("organization","fullName");


        cfg.view().field(HrTables.HR_PERSON.ORG_ID)
                .form().button().choosePosition(true)
                .table().sort(false)
                .table().fillBy(EmployeeMeta.PRIMARY_POSITION, PositionMeta.FULL_NAME)
                .search().hidden();


        cfg.view().field(HrTables.HR_PERSON.JOB_NUMBER).form().validate().required();
        cfg.view().field(HrTables.HR_PERSON.MOBILE).form().validate().required();
        cfg.view().field(HrTables.HR_PERSON.EMPLOYEE_ID).basic().label("关联员工").table().fillBy("employee","name");
        cfg.view().field(HrTables.HR_PERSON.EMPLOYEE_ID).form()
                .button().chooseEmployee(true);


        cfg.view().field(HrTables.HR_PERSON.WORK_KIND_CODE).table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.PERSON_PICTURE_ID).table().disable(true);
        cfg.view().field(HrTables.HR_PERSON.FILE_ID).table().disable(true);

        cfg.view().field(HrTables.HR_PERSON.PERSON_PICTURE_ID).form().upload().acceptImageType().buttonLabel("选择图片").maxFileCount(3);
        cfg.view().field(HrTables.HR_PERSON.FILE_ID).form().upload().maxFileCount(6);

        cfg.view().field(HrTables.HR_PERSON.NAME).form().validate().required();
        cfg.view().field(HrTables.HR_PERSON.IDENTITY_CARD).form().validate().required();

        cfg.view().field(HrTables.HR_PERSON.NOTE).form().textArea().height(Config.textAreaHeight);

        cfg.view().field(HrTables.HR_PERSON.SALARY_PAY_OUT).form().validate().required().form().radioBox().enumType(StatusYNEnum.class).defaultIndex(0);

        cfg.view().field(HrTables.HR_PERSON.POSITION_CODE)
                .form().selectBox().queryApi(PositionInfoServiceProxy.QUERY_PAGED_LIST)
                .paging(true).filter(true).toolbar(false)
                .valueField(PositionInfoMeta.ID).
                textField(PositionInfoMeta.NAME).
                fillWith(PersonMeta.POSITION).muliti(false);


        cfg.view().field(HrTables.HR_PERSON.EMPLOYEE_TITLE_CODE)
                .form().selectBox().queryApi(ProfessionalLevelServiceProxy.QUERY_PAGED_LIST)
                .paging(true).filter(true).toolbar(false)
                .valueField(ProfessionalLevelMeta.ID).
                textField(ProfessionalLevelMeta.NAME).
                fillWith(PersonMeta.PROFESSIONAL_LEVEL).muliti(false);

        cfg.view().field(HrTables.HR_PERSON.ATTENDANCE_TPL_CODE)
                .form().selectBox().queryApi(AttendanceTplServiceProxy.QUERY_PAGED_LIST)
                .paging(true).filter(true).toolbar(false)
                .valueField(AttendanceTplMeta.CODE).
                textField(AttendanceTplMeta.NAME).
                fillWith(PersonMeta.ATTENDANCE_TPL).muliti(false);


        cfg.view().field(HrTables.HR_PERSON.RANK_CODE)
                .form().selectBox().queryApi(RankServiceProxy.QUERY_PAGED_LIST)
                .paging(true).filter(true).toolbar(false)
                .valueField(RankMeta.ID).
                textField(RankMeta.CODE).
                fillWith(PersonMeta.RANK).muliti(false);

        cfg.view().field(HrTables.HR_PERSON.SALARY_TPL_ID)
                .form().selectBox().queryApi(SalaryTplServiceProxy.QUERY_PAGED_LIST)
                .paging(true).filter(true).toolbar(false)
                .valueField(SalaryTplMeta.ID).
                textField(SalaryTplMeta.NAME).
                fillWith(PersonMeta.SALARY_TPL).muliti(false).defaultIndex(0);

        cfg.view().field(HrTables.HR_PERSON.EMPLOYEE_IDENTITY_STATUS)
                .form().validate().required().form().selectBox().queryApi(DictItemServiceProxy.QUERY_LIST+"?dictCode=hr_employee_identity_status")
                .paging(false).filter(false).toolbar(false)
                .valueField(DictItemMeta.CODE).
                textField(DictItemMeta.LABEL).
                fillWith(PersonMeta.EMPLOYEE_IDENTITY).muliti(false);

        cfg.view().field(HrTables.HR_PERSON.EDUCATION_CODE)
                .form().selectBox().queryApi(DictItemServiceProxy.QUERY_LIST+"?dictCode=hr_education")
                .paging(false).filter(false).toolbar(false)
                .valueField(DictItemMeta.CODE).
                textField(DictItemMeta.LABEL).
                fillWith(PersonMeta.EDUCATION_DATA).muliti(false);


        cfg.view().field(HrTables.HR_PERSON.BLOOD_TYPE)
                .form().selectBox().queryApi(DictItemServiceProxy.QUERY_LIST+"?dictCode=hr_blood_type")
                .paging(false).filter(false).toolbar(false)
                .valueField(DictItemMeta.CODE).
                textField(DictItemMeta.LABEL).
                fillWith(PersonMeta.BLOOD_TYPE_DICT).muliti(false);

        cfg.view().field(HrTables.HR_PERSON.SEX_CODE)
                .form().selectBox().queryApi(DictItemServiceProxy.QUERY_LIST+"?dictCode=sex")
                .paging(false).filter(false).toolbar(false)
                .valueField(DictItemMeta.CODE).
                textField(DictItemMeta.LABEL).
                fillWith(PersonMeta.SEX_DICT).muliti(false);

        cfg.view().field(HrTables.HR_PERSON.PAYROLL_CARD_BANK_CODE)
                .form().selectBox().queryApi(DictItemServiceProxy.QUERY_LIST+"?dictCode=hr_bank_list")
                .paging(false).filter(false).toolbar(false)
                .valueField(DictItemMeta.CODE).
                textField(DictItemMeta.LABEL).
                fillWith(PersonMeta.BANK).muliti(false);




        cfg.view().field(HrTables.HR_PERSON.MARITAL_STATUS)
                .form().selectBox().queryApi(DictItemServiceProxy.QUERY_LIST+"?dictCode=hr_marital_status")
                .paging(false).filter(false).toolbar(false)
                .valueField(DictItemMeta.CODE).
                textField(DictItemMeta.LABEL).
                fillWith(PersonMeta.MARITAL_STATUS_DICT).muliti(false);

        cfg.view().field(HrTables.HR_PERSON.EMPLOYEE_TYPE_CODE)
                .form().validate().required().form().selectBox().queryApi(DictItemServiceProxy.QUERY_LIST+"?dictCode=hr_employee_owner_type")
                .paging(false).filter(false).toolbar(false)
                .valueField(DictItemMeta.CODE).
                textField(DictItemMeta.LABEL).
                fillWith(PersonMeta.EMPLOYEE_OWNER_TYPE_DICT).muliti(false);


        cfg.view().field(HrTables.HR_PERSON.POLITIC_COUNTENANCE_CODE)
           .form().selectBox().queryApi(DictItemServiceProxy.QUERY_LIST+"?dictCode=hr_politic_countenance")
                .paging(false).filter(false).toolbar(false)
                .valueField(DictItemMeta.CODE).
                textField(DictItemMeta.LABEL).
                fillWith(PersonMeta.POLITIC_COUNTENANCE_DATA).muliti(false);

        cfg.view().field(HrTables.HR_PERSON.EMPLOYEE_STATUS).form().validate().required().form().radioBox().enumType(EmployeeStatusEnum.class).defaultIndex(0);
        cfg.view().list().operationColumn().addActionButton("详情","personDetail","person-detail");

        cfg.view().list().operationColumn().addActionButton("修改","newEdit","new-edit");
        //cfg.view().list().operationColumn().addActionButton("合同","personCont","person-cont","hr_person:cont");
      //  cfg.view().list().operationColumn().addActionButton("薪酬","personSal","person-sal","hr_person:sal");



        cfg.view().search().rowsDisplay(1);
        cfg.view().formWindow().width("80%");;
        cfg.view().formWindow().bottomSpace(20);
        cfg.view().form().addGroup("基本信息",
                new Object[] {
                        HrTables.HR_PERSON.NAME,
                        HrTables.HR_PERSON.IDENTITY_CARD,
                        HrTables.HR_PERSON.EMPLOYEE_STATUS,
                        HrTables.HR_PERSON.EMPLOYEE_IDENTITY_STATUS,
                        HrTables.HR_PERSON.JOB_NUMBER,
                        HrTables.HR_PERSON.MOBILE,
                        HrTables.HR_PERSON.SEX_CODE,

                },
                new Object[] {
                        HrTables.HR_PERSON.EMPLOYEE_ID,
                        HrTables.HR_PERSON.EMPLOYEE_TYPE_CODE,
                        HrTables.HR_PERSON.BIRTHDAY,
                        HrTables.HR_PERSON.NATION_CODE,
                        HrTables.HR_PERSON.NATIVE_PLACE_CODE,
                        HrTables.HR_PERSON.MARITAL_STATUS,
                }
        );


        cfg.view().form().addGroup("个人情况",
                new Object[] {
                        HrTables.HR_PERSON.CONTACT_INFORMATION,
                        HrTables.HR_PERSON.EMERGENCY_CONTACT,
                        HrTables.HR_PERSON.HOME_ADDRESS,
                        HrTables.HR_PERSON.POLITIC_COUNTENANCE_CODE,
                        HrTables.HR_PERSON.BLOOD_TYPE,
                        HrTables.HR_PERSON.BODY_WEIGHT,
                },
                new Object[] {
                        HrTables.HR_PERSON.EMAIL,
                        HrTables.HR_PERSON.EMERGENCY_CONTACT_NO,
                        HrTables.HR_PERSON.WEIXIN_ID,
                        HrTables.HR_PERSON.JOIN_PART_DATE,
                        HrTables.HR_PERSON.BODY_HEIGHT,
                }
        );

        cfg.view().form().addGroup("学业信息",
                new Object[] {
                        HrTables.HR_PERSON.EDUCATION_CODE,
                        HrTables.HR_PERSON.MAJOR,
                        HrTables.HR_PERSON.FOREIGN_LANGUAGE,
                        HrTables.HR_PERSON.COMPUTER_ABILITY,
                },
                new Object[] {
                        HrTables.HR_PERSON.GRADUATION_SCHOOL,
                        HrTables.HR_PERSON.FOREIGN_LANGUAGE_LEVEL,
                        HrTables.HR_PERSON.COMPUTER_LEVEL,
                        HrTables.HR_PERSON.GRADUATION_DATE
                }
        );
        cfg.view().form().addGroup("工作信息",
                new Object[] {
                        HrTables.HR_PERSON.EMPLOYMENT_DATE,
                        HrTables.HR_PERSON.EMPLOYMENT_CONFIRM_DATE,
                        HrTables.HR_PERSON.POSITION_CODE,
                        HrTables.HR_PERSON.LEAVE_DATE
                },
                new Object[] {
                        HrTables.HR_PERSON.FIRST_EMPLOYMENT_DATE,
                        HrTables.HR_PERSON.FIRST_WORK_DATE,
                        HrTables.HR_PERSON.EMPLOYEE_TITLE_CODE,
                        HrTables.HR_PERSON.RANK_CODE,

                }
        );
        cfg.view().form().addGroup(null,
                new Object[] {
                        HrTables.HR_PERSON.LEAVE_RESON
                }

        );


        cfg.view().form().addGroup("工资信息",
                new Object[] {
                        HrTables.HR_PERSON.SALARY_PAY_OUT,
                        HrTables.HR_PERSON.SALARY_TPL_ID,
                        HrTables.HR_PERSON.SALARY_NOTES
                },
                new Object[] {
                        HrTables.HR_PERSON.PAYROLL_CARD_BANK_CODE,
                        HrTables.HR_PERSON.PAYROLL_CARD
                }
        );
        cfg.view().form().addGroup("其他信息",
                new Object[] {
                        HrTables.HR_PERSON.ATTENDANCE_TPL_CODE,
                        HrTables.HR_PERSON.PERSON_PICTURE_ID,
                        HrTables.HR_PERSON.FILE_ID,
                        HrTables.HR_PERSON.NOTE
                }
        );

//        cfg.view().list().addToolButton("同步账户","sysncAccount","sysnc-account");
        cfg.view().list().addToolButton("导入","importData","import-data");
        cfg.view().list().addToolButton("导出","exportData","export-data");
        cfg.view().form().addJsVariable("PAGE_METHOD","[[${pageMethod}]]","pageMethod");
        //文件生成覆盖模式
        cfg.overrides()
                .setServiceIntfAnfImpl(WriteMode.IGNORE) //服务与接口
                .setControllerAndAgent(WriteMode.IGNORE) //Rest
                .setPageController(WriteMode.IGNORE) //页面控制器
                .setFormPage(WriteMode.COVER_EXISTS_FILE) //表单HTML页
                .setListPage(WriteMode.COVER_EXISTS_FILE) //列表HTML页
                .setExtendJsFile(WriteMode.IGNORE);
        //生成代码
        cfg.buildAll();
    }

    public static void main(String[] args) throws Exception {
        HrmPersonGtr g=new HrmPersonGtr();
        //生成代码
        g.generateCode();

        //移除之前生成的菜单，视情况执行
       // System.out.println("############"+g.getTablePrefix());
        //g.removeByBatchId("470160949404237824");
      //  //生成菜单
     //  g.generateMenu(PersonServiceProxy.class, PersonPageController.class);
    }
}
